/*
 * lista_ligada.h
 *
 *  Created on: 10/04/2011
 *      Author: joao
 */

#ifndef LISTA_LIGADA_H_
#define LISTA_LIGADA_H_

typedef int TipoDoElemento;

/* observe a necessidade de definir um tipo _No associado
* à estrutura ,por causa da auto−referencia.*/
typedef struct _No{
	TipoDoElemento info;
	struct _No *prox;
} No;

typedef No* TipoDaPosicao;


void Inicializa(TipoDaPosicao *L);
TipoDaPosicao proximo(TipoDaPosicao p);
TipoDoElemento acessa (TipoDaPosicao p);
void Insere(TipoDaPosicao *c ,TipoDoElemento x);
TipoDaPosicao Busca (TipoDaPosicao *c ,TipoDoElemento x);
TipoDaPosicao BuscaAnterior (TipoDaPosicao p, TipoDaPosicao *c);
void Remove(TipoDaPosicao p, TipoDaPosicao *c);
int Vazia(TipoDaPosicao *c);


#endif /* LISTA_LIGADA_H_ */
